<?php
class DatosController extends AppController {

	var $name = 'Datos';
	var $components = array('Acl', 'RequestHandler', 'Session');
	var $uses = array('Dato', 'Cuestionario', 'Respuesta', 'Trabajador', 'Caso', 'NivelEducativo', 'Respuesta');
	
	function beforeFilter() {
		parent::beforeFilter();
		$this->Auth->authorize = 'crud';
		$this->Auth->mapActions(
			array(
			'create' => array('metro', 'minerven', 'ovallera', 'paso1', 'benton', 'boar', 'ese', 'conflicto', 'css', 'epqra', 'fps', 'ivapt', 'jss', 'mbigs', 'pnf'),
			'read' => array('resultados_ovallera', 'ovallera_pdf', 'resultados_metro', 'resultados_minerven', 'ver_boar', 'listado_metro', 'listado_minerven', 'listado_ovallera', 'exportar_ovallera', 'exportar_minerven'),
			'update' => array('editar_minerven', 'editar_benton', 'editar_epqra', 'editar_css', 'editar_ovallera', 'editar_pnf', 'editar_datos', 'editar_datos_ovallera', 'editar_boar', 'editar_fps', 'editar_conflicto', 'editar_mbigs'),
			//'delete' => array('evento_personal_delete')
			)
		);
		//$this->Auth->allowedActions = array('*');
		//$this->Auth->ajaxLogin= "tologin";
	}

	function index() {
		$this->Dato->recursive = 0;
		$cuestionarios = $this->Cuestionario->find('all', array('recursive'=>-1));
		$this->set('cuestionarios', $cuestionarios);
		$this->set('datos', $this->paginate());
	}
	
	function listado_metro() {
		$this->Dato->recursive = 0;
		$cuestionarios = $this->Cuestionario->find('all', array('recursive'=>-1));
		$this->set('cuestionarios', $cuestionarios);
		$this->set('datos', $this->paginate(array('instituto'=>1)));
		$this->set('menu', 'mcm');
		$this->render('index');
		
	}
	
	function listado_minerven() {
		$this->Dato->recursive = 0;
		$cuestionarios = $this->Cuestionario->find('all', array('recursive'=>-1));
		$this->set('cuestionarios', $cuestionarios);
		$this->set('datos', $this->paginate(array('instituto'=>2)));
		$this->set('menu', 'mcmi');
		
	}
	
	function listado_ovallera() {
		$this->Dato->recursive = 0;
		$cuestionarios = $this->Cuestionario->find('all', array('recursive'=>-1));
		$this->set('cuestionarios', $cuestionarios);
		$this->set('datos', $this->paginate(array('instituto'=>3)));
		$this->set('menu', 'mco');
		
	}

	function view($id = null) {
		if (!$id) {
			$this->Session->setFlash(sprintf(__('Invalid %s', true), 'dato'));
			$this->redirect(array('action' => 'index'));
		}
		$this->set('dato', $this->Dato->read(null, $id));
	}

	function add() {
		if (!empty($this->data)) {
			$this->Dato->create();
			if ($this->Dato->save($this->data)) {
				$this->Session->setFlash(sprintf(__('The %s has been saved', true), 'dato'));
				$this->redirect(array('action' => 'index'));
			} else {
				$this->Session->setFlash(sprintf(__('The %s could not be saved. Please, try again.', true), 'dato'));
			}
		}
		$nivelEducativos = $this->Dato->NivelEducativo->find('list');
		$this->set(compact('nivelEducativos'));
	}
	
	function metro() {
		//pr($this->data);
		if (!empty($this->data)) {
			$this->data['Dato']['usuario_id'] = $this->Session->read('Auth.Usuario.id');
			$this->Dato->create();
			if ($this->Dato->save($this->data)) {
				$this->Session->setFlash(sprintf(__('Los %s biográficos han sido guardados.', true), 'datos'));
				$this->redirect(array('action' => 'boar', 1, $this->Dato->id, 1));
			} else {
				$this->Session->setFlash(sprintf(__('Los %s biográficos no pudieron ser guardados. Por favor, revise los datos he intente nuevamente.', true), 'datos'));
			}
		}
		$nivelEducativos = $this->Dato->NivelEducativo->find('list');
		$this->set(compact('nivelEducativos'));
	}
	
	function minerven() {
		if (!empty($this->data)) {
			$this->data['Dato']['usuario_id'] = $this->Session->read('Auth.Usuario.id');
			$this->Dato->create();
			if ($this->Dato->save($this->data)) {
				$this->Session->setFlash(sprintf(__('Los %s biográficos han sido guardados.', true), 'datos'));
				$this->redirect(array('action' => 'fps', 2, $this->Dato->id, 3));
			} else {
				$this->Session->setFlash(sprintf(__('Los %s biográficos no pudieron ser guardados. Por favor, revise los datos he intente nuevamente.', true), 'datos'));
			}
		}
		$nivelEducativos = $this->Dato->NivelEducativo->find('list');
		$this->set(compact('nivelEducativos'));
	}
	
	function paso1(){
		if(!empty($this->data)){
			$cedula = $this->data['Dato']['cedula_trabajador'];
			$this->redirect(array('action' => 'ovallera', $cedula));
		}
		$cedulas = $this->Trabajador->find(
			'all', 
			array(
				'conditions' => "", //array de condiciones
				'recursive' => -1, //int
		 		'fields' => array('cedula'), //array de nombres de campos
				'order' => null, //string o array definiendo el orden
				'group' => array(), //campos para GROUP BY
				'limit' => null, //int
				'page' => null //int
			)
		);
		$this->set('cedulas', $this->_getArrayJson($cedulas));
		
	}
	
	function _getArrayJson($data){
		
		$var = array();
		//pr($instituciones);
		foreach ($data as $value){
			//pr($value);
			//echo $value[0]['name'];
			array_push($var, $value['Trabajador']['cedula']);
			
		}
		//pr($var);
		return $var;
		
	}
	
	function ovallera($cedula=null) {
		$existe = $this->Trabajador->find('count', array('conditions'=>"cedula='$cedula'"));
		$this->set('existe', $existe);
		$this->set('cedula', $cedula);
		if($existe){
			$trabajador = $this->Trabajador->find('all', array('conditions'=>"cedula='$cedula'", 'fields'=>'nombre, apellido, sexo'));
			$caso = $this->Caso->find('all', array('conditions'=>"cedula_trabajador='$cedula'", 'fields'=>'ciudad_nac_trab, estado_nac_trab, ocupacion, nivel_educativo_id, direc_trabajador, tlf_trabajador'));
			$this->set('trabajador', $trabajador);
			$this->set('caso', $caso);
		}
		if (!empty($this->data)) {
			$this->data['Dato']['usuario_id'] = $this->Session->read('Auth.Usuario.id');
			$this->Dato->create();
			if ($this->Dato->save($this->data)) {
				$this->Session->setFlash(sprintf(__('Los %s biográficos han sido guardados.', true), 'datos'));
				$this->redirect(array('action' => 'boar', 3, $this->Dato->id, 1));
			} else {
				$this->Session->setFlash(sprintf(__('Los %s biográficos no pudieron ser guardados. Por favor, revise los datos he intente nuevamente.', true), 'datos'));
			}
		}
		$nivelEducativos = $this->Dato->NivelEducativo->find('list');
		$this->set(compact('nivelEducativos'));
		
	}

	function edit($id = null) {
		if (!$id && empty($this->data)) {
			$this->Session->setFlash(sprintf(__('Invalid %s', true), 'dato'));
			$this->redirect(array('action' => 'index'));
		}
		if (!empty($this->data)) {
			if ($this->Dato->save($this->data)) {
				$this->Session->setFlash(sprintf(__('The %s has been saved', true), 'dato'));
				$this->redirect(array('action' => 'index'));
			} else {
				$this->Session->setFlash(sprintf(__('The %s could not be saved. Please, try again.', true), 'dato'));
			}
		}
		if (empty($this->data)) {
			$this->data = $this->Dato->read(null, $id);
		}
		$nivelEducativos = $this->Dato->NivelEducativo->find('list');
		$this->set(compact('nivelEducativos'));
	}
	
	function editar_minerven($id = null){
		if(!empty($this->data)){
			$this->redirect(array('action'=>'editar_'.$this->data['Dato']['editar'], $id));
		}
		$this->set('id', $id);
	}
	
	function editar_ovallera($id = null){
		if(!empty($this->data)){
			$this->redirect(array('action'=>'editar_'.$this->data['Dato']['editar'], $id));
		}
		$this->set('id', $id);
	}
	
	function editar_datos($dato_id=null){
		if(!empty($this->data)){
			if($this->Dato->save($this->data)){
				$this->Session->setFlash(sprintf(__('Los %s han sido modificados.', true), 'datos'));
				$this->redirect(array('action' => 'index'));
			}else{
				$this->Session->setFlash(sprintf(__('Los cambios no han sido guardados. Por favor, verifique los datos he intente de nuevo.', true), 'datos'));
			}
		}
		$this->Dato->id = $dato_id;
		$this->data = $this->Dato->read();
		$this->set('dato_id', $dato_id);
		$nivelEducativos = $this->Dato->NivelEducativo->find('list');
		$this->set(compact('nivelEducativos'));
	}
	
	function editar_datos_ovallera($dato_id=null){
		if(!empty($this->data)){
			//pr($this->data);exit;
			if($this->Dato->save($this->data)){
				$this->Session->setFlash(sprintf(__('Los %s han sido modificados.', true), 'datos'));
				$this->redirect(array('action' => 'listado_ovallera'));
			}else{
				$this->Session->setFlash(sprintf(__('Los cambios no han sido guardados. Por favor, verifique los datos he intente de nuevo.', true), 'datos'));
			}
		}
		$this->Dato->id = $dato_id;
		$this->data = $this->Dato->read();
		$this->set('dato_id', $dato_id);
		$nivelEducativos = $this->Dato->NivelEducativo->find('list');
		$this->set(compact('nivelEducativos'));
	}
	
	function editar_boar($dato_id=null){
		if(!empty($this->data)){
			$respuesta['dato_id'] = $this->data['Dato']['dato_id'];
			$respuesta['id'] = $this->data['Dato']['id'];
			$respuesta['cuestionario_id'] = 1;
			$resp = "";
			foreach($this->data['boar'] as $x=>$y){
				if($x != 27){
					$resp .= $y.",";
				}else{
					$resp .= $y;
				}
				
			}
			$respuesta['respuesta'] = $resp;
			//pr($respuesta);exit;
			if($this->Respuesta->save($respuesta)){
				$this->Session->setFlash("El cuestionario ha sido guardado.");
				$this->redirect(array('action' => 'listado_ovallera'));
			}else{
				$this->Session->setFlash("El cuestionario no ha sido guardado. Por favor, verifique los datos.");
			}
			
		}
		$this->Dato->id = $dato_id;
		$respuestas = $this->Respuesta->find(
		'all',
			array (
			'conditions'=> array ('Respuesta.dato_id'=>$dato_id, 'Respuesta.cuestionario_id'=>1), //array de condiciones
			'recursive'=>-1, //int
			'fields'=> array ('Respuesta.respuesta, Respuesta.id'), //array de nombres de campos
			'order'=>null, //string o array definiendo el orden
			'group'=> array (), //campos para GROUP BY
			'limit'=>null, //int
			'page'=>null //int
			)
		);
		
		$boar = split(",", $respuestas[0]['Respuesta']['respuesta']);
		$this->set('boar', $boar);
		$this->set('id', $respuestas[0]['Respuesta']['id']);
		$this->set('dato_id', $dato_id);
	}
	
	function editar_pnf($dato_id=null){
		if(!empty($this->data)){
			$respuesta['dato_id'] = $this->data['Dato']['dato_id'];
			$respuesta['id'] = $this->data['Dato']['id'];
			$respuesta['cuestionario_id'] = 8;
			$resp = "";
			foreach($this->data['pnf'] as $x=>$y){
				if($x != 38){
					$resp .= $y.",";
				}else{
					$resp .= $y;
				}
				
			}
			$respuesta['respuesta'] = $resp;
			if($this->Respuesta->save($respuesta)){
				$this->Session->setFlash("El cuestionario ha sido modificado.");
				$this->redirect(array('action'=>'listado_ovallera'));
				
			}else{
				$this->Session->setFlash("El cuestionario no ha sido guardado. Por favor, verifique los datos.");
			}
			
		}
		$this->Dato->id = $dato_id;
		$respuestas = $this->Respuesta->find(
		'all',
			array (
			'conditions'=> array ('Respuesta.dato_id'=>$dato_id, 'Respuesta.cuestionario_id'=>8), //array de condiciones
			'recursive'=>-1, //int
			'fields'=> array ('Respuesta.respuesta, Respuesta.id'), //array de nombres de campos
			'order'=>null, //string o array definiendo el orden
			'group'=> array (), //campos para GROUP BY
			'limit'=>null, //int
			'page'=>null //int
			)
		);
		
		$pnf = split(",", $respuestas[0]['Respuesta']['respuesta']);
		$this->set('pnf', $pnf);
		$this->set('id', $respuestas[0]['Respuesta']['id']);
		$this->set('dato_id', $dato_id);
	}
	
	function editar_css($dato_id=null){
		if(!empty($this->data)){
			$respuesta['dato_id'] = $this->data['Dato']['dato_id'];
			$respuesta['id'] = $this->data['Dato']['id'];
			$respuesta['cuestionario_id'] = 9;
			$resp = "";
			foreach($this->data['pnf'] as $x=>$y){
				if($x != 47){
					$resp .= $y.",";
				}else{
					$resp .= $y;
				}
				
			}
			$respuesta['respuesta'] = $resp;
			if($this->Respuesta->save($respuesta)){
				$this->Session->setFlash("El cuestionario ha sido modificado.");
				$this->redirect(array('action'=>'listado_ovallera'));
				
			}else{
				$this->Session->setFlash("El cuestionario no ha sido guardado. Por favor, verifique los datos.");
			}
			
		}
		$this->Dato->id = $dato_id;
		$respuestas = $this->Respuesta->find(
		'all',
			array (
			'conditions'=> array ('Respuesta.dato_id'=>$dato_id, 'Respuesta.cuestionario_id'=>9), //array de condiciones
			'recursive'=>-1, //int
			'fields'=> array ('Respuesta.respuesta, Respuesta.id'), //array de nombres de campos
			'order'=>null, //string o array definiendo el orden
			'group'=> array (), //campos para GROUP BY
			'limit'=>null, //int
			'page'=>null //int
			)
		);
		
		$css = split(",", $respuestas[0]['Respuesta']['respuesta']);
		$this->set('css', $css);
		$this->set('id', $respuestas[0]['Respuesta']['id']);
		$this->set('dato_id', $dato_id);
	}
	
	function editar_epqra($dato_id=null){
		if(!empty($this->data)){
			$respuesta['dato_id'] = $this->data['Dato']['dato_id'];
			$respuesta['id'] = $this->data['Dato']['id'];
			$respuesta['cuestionario_id'] = 10;
			$resp = "";
			foreach($this->data['boar'] as $x=>$y){
				if($x != 24){
					$resp .= $y.",";
				}else{
					$resp .= $y;
				}
				
			}
			$respuesta['respuesta'] = $resp;
			if($this->Respuesta->save($respuesta)){
				$this->Session->setFlash("El cuestionario ha sido modificado.");
				$this->redirect(array('action'=>'listado_ovallera'));
				
			}else{
				$this->Session->setFlash("El cuestionario no ha sido guardado. Por favor, verifique los datos.");
			}
			
		}
		$this->Dato->id = $dato_id;
		$respuestas = $this->Respuesta->find(
		'all',
			array (
			'conditions'=> array ('Respuesta.dato_id'=>$dato_id, 'Respuesta.cuestionario_id'=>10), //array de condiciones
			'recursive'=>-1, //int
			'fields'=> array ('Respuesta.respuesta, Respuesta.id'), //array de nombres de campos
			'order'=>null, //string o array definiendo el orden
			'group'=> array (), //campos para GROUP BY
			'limit'=>null, //int
			'page'=>null //int
			)
		);
		
		$epqra = split(",", $respuestas[0]['Respuesta']['respuesta']);
		$this->set('epqra', $epqra);
		$this->set('id', $respuestas[0]['Respuesta']['id']);
		$this->set('dato_id', $dato_id);
	}
	
	function editar_benton($dato_id=null){
		if(!empty($this->data)){
			$respuesta['dato_id'] = $this->data['Dato']['dato_id'];
			$respuesta['id'] = $this->data['Dato']['id'];
			$respuesta['cuestionario_id'] = 11;
			$respuesta['respuesta'] = $this->data['benton']['respuesta'];
			if($this->Respuesta->save($respuesta)){
				$this->Session->setFlash("El cuestionario ha sido modificado.");
				$this->redirect(array('action'=>'listado_ovallera'));
			}else{
				$this->Session->setFlash("El cuestionario no ha sido guardado. Por favor, verifique los datos.");
			}
			
		}
		$this->Dato->id = $dato_id;
		$respuestas = $this->Respuesta->find(
		'all',
			array (
			'conditions'=> array ('Respuesta.dato_id'=>$dato_id, 'Respuesta.cuestionario_id'=>11), //array de condiciones
			'recursive'=>-1, //int
			'fields'=> array ('Respuesta.respuesta, Respuesta.id'), //array de nombres de campos
			'order'=>null, //string o array definiendo el orden
			'group'=> array (), //campos para GROUP BY
			'limit'=>null, //int
			'page'=>null //int
			)
		);
		
		$benton = split(",", $respuestas[0]['Respuesta']['respuesta']);
		$this->set('benton', $benton);
		$this->set('id', $respuestas[0]['Respuesta']['id']);
		$this->set('dato_id', $dato_id);
	}
	
	function editar_fps($dato_id=null){
		if(!empty($this->data)){
			$respuesta = array();
			$respuesta['dato_id'] = $dato_id;
			$respuesta['id'] = $this->data['Dato']['id'];
			$respuesta['cuestionario_id'] = 3;
			$resp = "";
			foreach($this->data['fps'] as $x=>$y){
				if($x != 30){
					$resp .= $y.",";
				}else{
					$resp .= $y;
				}
				
			}
			$respuesta['respuesta'] = $resp;
			if($this->Respuesta->save($respuesta)){
				$this->Session->setFlash("El cuestionario ha sido modificado.");
				$this->redirect(array('action' => 'index'));
			}else{
				$this->Session->setFlash("El cuestionario no ha sido guardado. Por favor, verifique los datos.");
			}
			
		}
		$this->Dato->id = $dato_id;
		$respuestas = $this->Respuesta->find(
		'all',
			array (
			'conditions'=> array ('Respuesta.dato_id'=>$dato_id, 'Respuesta.cuestionario_id'=>3), //array de condiciones
			'recursive'=>-1, //int
			'fields'=> array ('Respuesta.respuesta, Respuesta.id'), //array de nombres de campos
			'order'=>null, //string o array definiendo el orden
			'group'=> array (), //campos para GROUP BY
			'limit'=>null, //int
			'page'=>null //int
			)
		);
		
		$fps = split(",", $respuestas[0]['Respuesta']['respuesta']);
		$this->set('fps', $fps);
		$this->set('id', $respuestas[0]['Respuesta']['id']);
		$this->set('dato_id', $dato_id);
	}
	
	function editar_conflicto($dato_id=null){
		$this->Dato->id = $dato_id;
		if(!empty($this->data)){
			$respuesta['dato_id'] = $dato_id;
			$respuesta['id'] = $this->data['Dato']['id'];
			$respuesta['cuestionario_id'] = 7;
			$resp = "";
			//pr($this->data['conflicto']);exit;
			foreach($this->data['conflicto'] as $x=>$y){
				if($x != 67){
					$resp .= $y.",";
				}else{
					$resp .= $y;
				}
				
			}
			$respuesta['respuesta'] = $resp;
			if($this->Respuesta->save($respuesta)){
				$this->Session->setFlash("El cuestionario ha sido modificado.");
				$this->redirect(array('action'=>'index'));
				
			}else{
				$this->Session->setFlash("El cuestionario no ha sido modificado. Por favor, verifique los datos.");
			}
			
		}
		$respuestas = $this->Respuesta->find(
		'all',
			array (
			'conditions'=> array ('Respuesta.dato_id'=>$dato_id, 'Respuesta.cuestionario_id'=>7), //array de condiciones
			'recursive'=>-1, //int
			'fields'=> array ('Respuesta.respuesta, Respuesta.id'), //array de nombres de campos
			'order'=>null, //string o array definiendo el orden
			'group'=> array (), //campos para GROUP BY
			'limit'=>null, //int
			'page'=>null //int
			)
		);
		
		$conflicto = split(",", $respuestas[0]['Respuesta']['respuesta']);
		$this->set('conflicto', $conflicto);
		$this->set('id', $respuestas[0]['Respuesta']['id']);
		$this->set('dato_id', $dato_id);
	}
	
	function editar_mbigs($dato_id=null){
		if(!empty($this->data)){
			$respuesta['dato_id'] = $dato_id;
			$respuesta['cuestionario_id'] = 5;
			$respuesta['id'] = $this->data['Dato']['id'];
			$resp = "";
			foreach($this->data['mbigs'] as $x=>$y){
				if($x != 16){
					$resp .= $y.",";
				}else{
					$resp .= $y;
				}
				
			}
			$respuesta['respuesta'] = $resp;
			if($this->Respuesta->save($respuesta)){
				$this->Session->setFlash("El cuestionario ha sido guardado.");
				$this->redirect(array('action'=>'index'));
			}else{
				$this->Session->setFlash("El cuestionario no ha sido guardado. Por favor, verifique los datos.");
			}
			
		}
		$respuestas = $this->Respuesta->find(
		'all',
			array (
			'conditions'=> array ('Respuesta.dato_id'=>$dato_id, 'Respuesta.cuestionario_id'=>5), //array de condiciones
			'recursive'=>-1, //int
			'fields'=> array ('Respuesta.respuesta, Respuesta.id'), //array de nombres de campos
			'order'=>null, //string o array definiendo el orden
			'group'=> array (), //campos para GROUP BY
			'limit'=>null, //int
			'page'=>null //int
			)
		);
		
		$mbigs = split(",", $respuestas[0]['Respuesta']['respuesta']);
		$this->set('mbigs', $mbigs);
		$this->set('id', $respuestas[0]['Respuesta']['id']);
		$this->set('dato_id', $dato_id);
	}

	function delete($id = null) {
		if (!$id) {
			$this->Session->setFlash(sprintf(__('Invalid id for %s', true), 'dato'));
			$this->redirect(array('action'=>'index'));
		}
		if ($this->Dato->delete($id)) {
			$this->Session->setFlash(sprintf(__('%s deleted', true), 'Dato'));
			$this->redirect(array('action'=>'index'));
		}
		$this->Session->setFlash(sprintf(__('%s was not deleted', true), 'Dato'));
		$this->redirect(array('action' => 'index'));
	}
	
	function boar($instituto_id=null, $dato_id=null, $cuestionario_id=null){
		if(!empty($this->data)){
			$respuesta['dato_id'] = $dato_id;
			$respuesta['cuestionario_id'] = $cuestionario_id;
			$resp = "";
			foreach($this->data['boar'] as $x=>$y){
				if($x != 27){
					$resp .= $y.",";
				}else{
					$resp .= $y;
				}
				
			}
			$respuesta['respuesta'] = $resp;
			if($this->Respuesta->save($respuesta)){
				$this->Session->setFlash("El cuestionario ha sido guardado.");
				if($instituto_id == 1){
					$this->Dato->setTrayecto($dato_id, 2);
					$this->redirect(array('action'=>'ese', $instituto_id, $dato_id, 2));
					
				}
				if($instituto_id == 3){
					$this->Dato->setTrayecto($dato_id, 8);
					$this->redirect(array('action'=>'pnf', $instituto_id, $dato_id, 8));
					
				}
				
			}else{
				$this->Session->setFlash("El cuestionario no ha sido guardado. Por favor, verifique los datos.");
			}
			
		}
		$this->set('instituto_id', $instituto_id);
		$this->set('dato_id', $dato_id);
		$this->set('cuestionario_id', $cuestionario_id);
	}
	
	function ese($instituto_id=null, $dato_id=null, $cuestionario_id=null){
		if(!empty($this->data)){
			$respuesta['dato_id'] = $dato_id;
			$respuesta['cuestionario_id'] = $cuestionario_id;
			$resp = "";
			foreach($this->data['ese'] as $x=>$y){
				if($x != 18){
					$resp .= $y.",";
				}else{
					$resp .= $y;
				}
				
			}
			$respuesta['respuesta'] = $resp;
			if($this->Respuesta->save($respuesta)){
				$this->Session->setFlash("El cuestionario ha sido guardado.");
					$this->Dato->setTrayecto($dato_id, 3);
					$this->redirect(array('action'=>'fps', $instituto_id, $dato_id, 3));
				
			}else{
				$this->Session->setFlash("El cuestionario no ha sido guardado. Por favor, verifique los datos.");
			}
			
		}
		$this->set('instituto_id', $instituto_id);
		$this->set('dato_id', $dato_id);
		$this->set('cuestionario_id', $cuestionario_id);
	}
	
	function fps($instituto_id=null, $dato_id=null, $cuestionario_id=null){
		if(!empty($this->data)){
			$respuesta['dato_id'] = $dato_id;
			$respuesta['cuestionario_id'] = $cuestionario_id;
			$resp = "";
			//pr($this->data['fps']);exit;
			foreach($this->data['fps'] as $x=>$y){
				if($x != 30){
					$resp .= $y.",";
				}else{
					$resp .= $y;
				}
				
			}
			$respuesta['respuesta'] = $resp;
			if($this->Respuesta->save($respuesta)){
				$this->Session->setFlash("El cuestionario ha sido guardado.");
				if($instituto_id == 1){
					$this->Dato->setTrayecto($dato_id, 4);
					$this->redirect(array('action'=>'ivapt', $instituto_id, $dato_id, 4));
				}
				if($instituto_id == 2){
					$this->Dato->setTrayecto($dato_id, 7);
					$this->redirect(array('action'=>'conflicto', $instituto_id, $dato_id, 7));
				}
			}else{
				$this->Session->setFlash("El cuestionario no ha sido guardado. Por favor, verifique los datos.");
			}
			
		}
		$this->set('instituto_id', $instituto_id);
		$this->set('dato_id', $dato_id);
		$this->set('cuestionario_id', $cuestionario_id);
	}
	
	function ivapt($instituto_id=null, $dato_id=null, $cuestionario_id=null){
		if(!empty($this->data)){
			$respuesta['dato_id'] = $dato_id;
			$respuesta['cuestionario_id'] = $cuestionario_id;
			$resp = $resp_a = $resp_b = "";
			$i=0;
			foreach($this->data['ivapt'] as $x=>$y){
				//echo $x."<br/>";
				if($i % 2 == 0){
					if($x == "22a"){
						$resp_a .= $y;
					}else{
						$resp_a .= $y.",";
					}
					
				}else{
					if($x == "22b"){
						$resp_b .= $y;
					}else{
						$resp_b .= $y.",";
					}
				}
				$i++;
			}
			$respuesta['respuesta'] = $resp_a."|".$resp_b;
			
			//pr($respuesta);exit;
			if($this->Respuesta->save($respuesta)){
				$this->Session->setFlash("El cuestionario ha sido guardado.");
				$this->Dato->setTrayecto($dato_id, 5);
				$this->redirect(array('action'=>'mbigs', $instituto_id, $dato_id, 5));
			}else{
				$this->Session->setFlash("El cuestionario no ha sido guardado. Por favor, verifique los datos.");
			}
			
		}
		$this->set('instituto_id', $instituto_id);
		$this->set('dato_id', $dato_id);
		$this->set('cuestionario_id', $cuestionario_id);
	}
	
	function mbigs($instituto_id=null, $dato_id=null, $cuestionario_id=null){
		if(!empty($this->data)){
			$respuesta['dato_id'] = $dato_id;
			$respuesta['cuestionario_id'] = $cuestionario_id;
			$resp = "";
			foreach($this->data['mbigs'] as $x=>$y){
				if($x != 16){
					$resp .= $y.",";
				}else{
					$resp .= $y;
				}
				
			}
			$respuesta['respuesta'] = $resp;
			if($this->Respuesta->save($respuesta)){
				$this->Session->setFlash("El cuestionario ha sido guardado.");
				if($instituto_id == 1){
					$this->Dato->setTrayecto($dato_id, 6);
					$this->redirect(array('action'=>'jss', $instituto_id, $dato_id, 6));
				}
				if($instituto_id == 2){
					$this->Dato->setTrayecto($dato_id, 777);
					$this->redirect(array('action'=>'index'));
				}
			}else{
				$this->Session->setFlash("El cuestionario no ha sido guardado. Por favor, verifique los datos.");
			}
			
		}
		$this->set('instituto_id', $instituto_id);
		$this->set('dato_id', $dato_id);
		$this->set('cuestionario_id', $cuestionario_id);
	}
	
	function jss($instituto_id=null, $dato_id=null, $cuestionario_id=null){
		if(!empty($this->data)){
			$respuesta['dato_id'] = $dato_id;
			$respuesta['cuestionario_id'] = $cuestionario_id;
			$resp_a = "";
			$resp_b = "";
			//pr($this->data['jss']);exit;
			foreach($this->data['jss']['a'] as $x=>$y){
				if($x != 30){
					$resp_a .= $y.",";
				}else{
					$resp_a .= $y;
				}
				
			}
			foreach($this->data['jss']['b'] as $x=>$y){
				if($x != 30){
					$resp_b .= $y.",";
				}else{
					$resp_b .= $y;
				}
				
			}
			$respuesta['respuesta'] = $resp_a."|".$resp_b;
			//pr($respuesta);exit;
			if($this->Respuesta->save($respuesta)){
				$this->Session->setFlash("El cuestionario ha sido guardado.");
				$this->Dato->setTrayecto($dato_id, 777);
				$this->redirect(array('action'=>'index'));
			}else{
				$this->Session->setFlash("El cuestionario no ha sido guardado. Por favor, verifique los datos.");
			}
			
		}
		$this->set('instituto_id', $instituto_id);
		$this->set('dato_id', $dato_id);
		$this->set('cuestionario_id', $cuestionario_id);
	}
	
	function conflicto($instituto_id=null, $dato_id=null, $cuestionario_id=null){
		if(!empty($this->data)){
			$respuesta['dato_id'] = $dato_id;
			$respuesta['cuestionario_id'] = $cuestionario_id;
			$resp = "";
			//pr($this->data['conflicto']);exit;
			foreach($this->data['conflicto'] as $x=>$y){
				if($x != 67){
					$resp .= $y.",";
				}else{
					$resp .= $y;
				}
				
			}
			$respuesta['respuesta'] = $resp;
			if($this->Respuesta->save($respuesta)){
				$this->Session->setFlash("El cuestionario ha sido guardado.");
				$this->Dato->setTrayecto($dato_id, 5);
				$this->redirect(array('action'=>'mbigs', $instituto_id, $dato_id, 5));
				
			}else{
				$this->Session->setFlash("El cuestionario no ha sido guardado. Por favor, verifique los datos.");
			}
			
		}
		$this->set('instituto_id', $instituto_id);
		$this->set('dato_id', $dato_id);
		$this->set('cuestionario_id', $cuestionario_id);
	}
	
	function pnf($instituto_id=null, $dato_id=null, $cuestionario_id=null){
		if(!empty($this->data)){
			$respuesta['dato_id'] = $dato_id;
			$respuesta['cuestionario_id'] = $cuestionario_id;
			$resp = "";
			foreach($this->data['pnf'] as $x=>$y){
				if($x != 38){
					$resp .= $y.",";
				}else{
					$resp .= $y;
				}
				
			}
			$respuesta['respuesta'] = $resp;
			if($this->Respuesta->save($respuesta)){
				$this->Session->setFlash("El cuestionario ha sido guardado.");
				$this->Dato->setTrayecto($dato_id, 9);
				$this->redirect(array('action'=>'css', $instituto_id, $dato_id, 9));
				
			}else{
				$this->Session->setFlash("El cuestionario no ha sido guardado. Por favor, verifique los datos.");
			}
			
		}
		$this->set('instituto_id', $instituto_id);
		$this->set('dato_id', $dato_id);
		$this->set('cuestionario_id', $cuestionario_id);
	}
	
	function css($instituto_id=null, $dato_id=null, $cuestionario_id=null){
		if(!empty($this->data)){
			$respuesta['dato_id'] = $dato_id;
			$respuesta['cuestionario_id'] = $cuestionario_id;
			$resp = "";
			foreach($this->data['pnf'] as $x=>$y){
				if($x != 47){
					$resp .= $y.",";
				}else{
					$resp .= $y;
				}
				
			}
			$respuesta['respuesta'] = $resp;
			if($this->Respuesta->save($respuesta)){
				$this->Session->setFlash("El cuestionario ha sido guardado.");
				$this->Dato->setTrayecto($dato_id, 10);
				$this->redirect(array('action'=>'epqra', $instituto_id, $dato_id, 10));
				
			}else{
				$this->Session->setFlash("El cuestionario no ha sido guardado. Por favor, verifique los datos.");
			}
			
		}
		$this->set('instituto_id', $instituto_id);
		$this->set('dato_id', $dato_id);
		$this->set('cuestionario_id', $cuestionario_id);
	}
	
	function epqra($instituto_id=null, $dato_id=null, $cuestionario_id=null){
		if(!empty($this->data)){
			$respuesta['dato_id'] = $dato_id;
			$respuesta['cuestionario_id'] = $cuestionario_id;
			$resp = "";
			foreach($this->data['boar'] as $x=>$y){
				if($x != 24){
					$resp .= $y.",";
				}else{
					$resp .= $y;
				}
				
			}
			$respuesta['respuesta'] = $resp;
			if($this->Respuesta->save($respuesta)){
				$this->Session->setFlash("El cuestionario ha sido finalizado.");
				$this->Dato->setTrayecto($dato_id, 11);
				$this->redirect(array('action'=>'benton', $instituto_id, $dato_id, $cuestionario_id));
			}else{
				$this->Session->setFlash("El cuestionario no ha sido guardado. Por favor, verifique los datos.");
			}
			
		}
		$this->set('instituto_id', $instituto_id);
		$this->set('dato_id', $dato_id);
		$this->set('cuestionario_id', $cuestionario_id);
	}
	
	function benton($instituto_id=null, $dato_id=null, $cuestionario_id=null){
		if(!empty($this->data)){
			$respuesta['dato_id'] = $dato_id;
			$respuesta['cuestionario_id'] = $cuestionario_id;
			$respuesta['respuesta'] = $this->data['Benton']['respuesta'];
			if($this->Respuesta->save($respuesta)){
				$this->Session->setFlash("El cuestionario ha sido finalizado.");
				$this->Dato->setTrayecto($dato_id, 777);
				$this->redirect(array('action'=>'index'));
			}else{
				$this->Session->setFlash("El cuestionario no ha sido guardado. Por favor, verifique los datos.");
			}
			
		}
		$this->set('instituto_id', $instituto_id);
		$this->set('dato_id', $dato_id);
		$this->set('cuestionario_id', $cuestionario_id);
	}
	
	function resultados_ovallera($dato_id) {
		$nivelEducativos = $this->Dato->NivelEducativo->find('list');
		$this->set(compact('nivelEducativos'));
		$this->Dato->id = $dato_id;
		$this->set('dato_id', $dato_id);
		$datos = $this->data = $this->Dato->read();
		$respuestas = $this->Respuesta->find(
			'all',
			array (
			'conditions'=> array ('Respuesta.dato_id'=>$dato_id), //array de condiciones
			'recursive'=>1, //int
			'fields'=> array (), //array de nombres de campos
			'order'=>null, //string o array definiendo el orden
			'group'=> array (), //campos para GROUP BY
			'limit'=>null, //int
			'page'=>null //int
			)
		);
		$this->set('respuestas', $respuestas);
		//pr($datos);
	}
	
	function resultados_minerven($dato_id) {
		$nivelEducativos = $this->Dato->NivelEducativo->find('list');
		$this->set(compact('nivelEducativos'));
		$this->Dato->id = $dato_id;
		$this->set('dato_id', $dato_id);
		$datos = $this->data = $this->Dato->read();
		$respuestas = $this->Respuesta->find(
			'all',
			array (
			'conditions'=> array ('Respuesta.dato_id'=>$dato_id), //array de condiciones
			'recursive'=>1, //int
			'fields'=> array (), //array de nombres de campos
			'order'=>'Respuesta.id, Respuesta.cuestionario_id', //string o array definiendo el orden
			'group'=> array (), //campos para GROUP BY
			'limit'=>null, //int
			'page'=>null //int
			)
		);
		$this->set('respuestas', $respuestas);
		//pr($datos);
	}
	
	function exportar_ovallera() {
		//$this->Respuesta->belongsTo['Dato']['conditions'] = "Dato.instituto=3";
		$respuestas = $this->Respuesta->find(
			'all',
			array (
			'conditions'=> "dato_id IN (select id from datos where instituto=3 and trayecto=777)", //array de condiciones
			'recursive'=>1, //int
			'fields'=> null, //array de nombres de campos
			'order'=>"Respuesta.id", //string o array definiendo el orden
			'group'=> array (), //campos para GROUP BY
			'limit'=>null, //int
			'page'=>null //int
			)
		);
		//echo count($respuestas);
		$this->set('respuestas', $respuestas);
		//pr($respuestas);
	}
	
	function exportar_minerven() {
		//$this->Respuesta->belongsTo['Dato']['conditions'] = "Dato.instituto=3";
		$respuestas = $this->Respuesta->find(
			'all',
			array (
			'conditions'=> "dato_id IN (select id from datos where instituto=2 and trayecto=777)", //array de condiciones
			'recursive'=>1, //int
			'fields'=> null, //array de nombres de campos
			'order'=>"Dato.id, Cuestionario.id ASC", //string o array definiendo el orden
			'group'=> array (), //campos para GROUP BY
			'limit'=>null, //int
			'page'=>null //int
			)
		);
		//echo count($respuestas);
		$this->set('respuestas', $respuestas);
		//pr($respuestas);
	}
	
	function ovallera_pdf($dato_id) {
		$this->layout= "pdf";
		$nivelEducativos = $this->Dato->NivelEducativo->find('list');
		$this->set(compact('nivelEducativos'));
		$this->Dato->id = $dato_id;
		$this->set('dato_id', $dato_id);
		$this->set('datos', $this->Dato->read());
		$respuestas = $this->Respuesta->find(
			'all',
			array (
			'conditions'=> array ('Respuesta.dato_id'=>$dato_id), //array de condiciones
			'recursive'=>1, //int
			'fields'=> array (), //array de nombres de campos
			'order'=>null, //string o array definiendo el orden
			'group'=> array (), //campos para GROUP BY
			'limit'=>null, //int
			'page'=>null //int
			)
		);
		$this->set('respuestas', $respuestas);
		//pr($datos);
	}
	
	function ver_boar($dato_id = null) {
		$this->Dato->id = $dato_id;
		$datos = $this->data = $this->Dato->read();
		$this->set('datos', $datos);
		
	}
	
}
?>